//TODO 类中的成员修饰符  public(公有的,默认的修饰符),private(私有的,子类中也是无法访问成员数据的), protected(受保护的,只有在子类中可以访问,外部无法访问)->主要描述类中的成员(属性,构造函数,方法)的可访问性
(()=>{
//定义一个类
    class Person {
        //属性
        //public name:string
        //private name:string
        protected name:string
        //构造函数
        public constructor(name:string) {
            //更新属性值
            this.name = name
        }
        //方法
        public eat(){
            console.log(`这个骨头真的好吃,${this.name}`)
        }
    }
    //定义一个子类
    class Student extends Person{
        constructor(name:string) {
            super(name)
        }
        play(){
            console.log(`我就喜欢布娃娃,${this.name}`)
        }
    }
    //实例化对象
    const person = new Person('大蛇丸')
    //类的为外部可以访问类中的属性成员
    //console.log(person.name)
    //console.log(student.name)
    person.eat()
    const student = new Student('红豆')
    student.play()

})()